package io.bba.boot.app.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.bba.boot.app.dto.BatchCrawlerDataDto;
import io.bba.boot.framework.page.Paging;
import io.bba.boot.app.dto.CrawlerDataDto;
import io.bba.boot.app.entity.CrawlerData;
import io.bba.boot.app.query.CrawlerDataQuery;
import io.bba.boot.app.vo.CrawlerDataVo;
import io.bba.boot.app.query.AppCrawlerDataQuery;
import io.bba.boot.app.vo.AppCrawlerDataVo;

import java.util.List;


/**
 * 采集数据 服务接口
 *
 * @author zs
 * @since 2024-03-19
 */
public interface CrawlerDataService extends IService<CrawlerData> {

    /**
     * 添加采集数据
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean addCrawlerData(CrawlerDataDto dto);

    /**
     * 修改采集数据
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean updateCrawlerData(CrawlerDataDto dto);

    /**
     * 删除采集数据
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteCrawlerData(Long id);

    /**
     * 采集数据详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    CrawlerDataVo getCrawlerDataById(Long id);

    /**
     * 采集数据分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<CrawlerDataVo> getCrawlerDataPage(CrawlerDataQuery query);

    /**
     * App采集数据详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AppCrawlerDataVo getAppCrawlerDataById(Long id);

    /**
     * App采集数据分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AppCrawlerDataVo> getAppCrawlerDataPage(AppCrawlerDataQuery query);

    boolean batchAddCrawlerData(BatchCrawlerDataDto dtos);
}
